using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Kook;

/// <summary>
///     Represents a channel that is of an unrecognized type.
/// </summary>
internal sealed class MockedInvalidChannel : IChannel
{
    public string Name => throw new NotImplementedException();

    public DateTimeOffset CreatedAt => throw new NotImplementedException();

    public ulong Id => throw new NotImplementedException();

    public Task<IUser?> GetUserAsync(ulong id,
        CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null) =>
        throw new NotImplementedException();

    public IAsyncEnumerable<IReadOnlyCollection<IUser>> GetUsersAsync(
        CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null) =>
        throw new NotImplementedException();
}
